package smedi.ismedi.web.bff.dto.quality;

import com.smedi.ismedi.instrument.api.dto.response.PersonResponse;
import com.smedi.ismedi.instrument.api.dto.response.ProjectResponse;
import com.smedi.ismedi.instrument.api.dto.response.hiddenDanger.HiddenDangerOrganizationResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import smedi.ismedi.web.bff.dto.HiddenDangerOperateResponse;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 安全隐患详情或者质量隐患详情返回参数，以质量为模板
 * @author yangzhenzhou
 * @date 2022/10/26
 */
@Data
@Accessors(chain = true)
public class SfcOrQltHiddenDangerResponse  implements Serializable {
    @ApiModelProperty("id")
    private Long id;
    @ApiModelProperty("隐患状态标识")
    private String taskStatus;
    @ApiModelProperty("隐患状态名称")
    private String taskStatusName;
    @ApiModelProperty("检查时间")
    private LocalDateTime checkDate;
    @ApiModelProperty("检查人")
    private PersonResponse checkPerson;
    @ApiModelProperty("项目")
    private ProjectResponse project;
    @ApiModelProperty("隐患内容")
    private String hiddenDangerContent;
    @ApiModelProperty("隐患内容分类")
    private String hiddenDangerContentType;
    @ApiModelProperty("隐患内容分类")
    private String hiddenDangerContentTypeName;
    @ApiModelProperty("隐患说明")
    private String hiddenDangerExplain;
    @ApiModelProperty("隐患类型")
    private String hiddenDangerType;
    @ApiModelProperty("整改人")
    private PersonResponse rectificationPerson;
    @ApiModelProperty("责任单位")
    private HiddenDangerOrganizationResponse organization;
    @ApiModelProperty("整改期限")
    private LocalDate rectificationDate;
    @ApiModelProperty("整改要求")
    private String rectificationRequirement;
    @ApiModelProperty("复查人")
    private PersonResponse reviewPerson;
    @ApiModelProperty("检查类型")
    private String checkType;
    @ApiModelProperty("检查类型名称")
    private String checkTypeName;
    @ApiModelProperty("责任区域")
    private String area;
    @ApiModelProperty("安全模块的整改记录")
    private List<HiddenDangerOperateResponse> operateResponses;
    @ApiModelProperty("质量模块的整改记录")
    private List<RectificationRecordResponse> rectificationRecordResponses;
}
